package me.hunche.app.service;

import java.util.List;

import me.hunche.app.domain.Activity;
import me.hunche.app.domain.ActivityMember;
import me.hunche.app.domain.User;

public interface NotifyService {

	/**
	 * 招募,全部队员
	 */
	public void recruit(Activity a);
	
	/**
	 * 二次招募,部分队员
	 */
	public void recruit2(Activity a,List<User> users);
	
	/**
	 * 报名结果
	 */
	public void result(Activity a,User user);
	
	/**
	 * 活动已经生效了
	 */
	public void confirmed(Activity a);
	
	
	public void confirmed(Activity a,ActivityMember m);
	
	/**
	 * 活动取消
	 */
	public void canceled(Activity a);
	
	/**
	 * 活动前一周提醒
	 */
	public void remind(Activity a);
	
	/**
	 * 活动开始前一天通知负责人
	 */
	public void ready(Activity a);
	
	/**
	 * 活动开始前一天
	 */
	public void hasReady(Activity a);
	
	/**
	 * 出发,活动开始前30分钟提醒正式队员
	 */
	public void go(Activity a);
	
	/**
	 * 活动开始前20分通知负责人
	 */
	public void  hasLeave(Activity a);
	
	
	/**
	 * 升级候补队员
	 */
	public void upgrade(Activity a,ActivityMember member);
	
}
